package com.zxy.feignclient;

import com.zxy.entity.Product;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

// 调用product服务的接口
@FeignClient(value = "PRODUCT") // value：用来书写调用服务的服务id
public interface ProductClient {

    @GetMapping("/product")
    String product();


    // 声明调用product服务的test1接口，传递name和age参数
    @GetMapping("/test1")
    String testQueryString(@RequestParam("name") String name, @RequestParam(value = "age") Integer age);

    // 声明调用product服务的test2接口，传递name和age参数
    @GetMapping("/test2/{name}/{age}")
    String testPathVarible(@PathVariable("name") String name, @PathVariable("age") Integer age);

    // 声明一个调用商品服务中的test3接口，传递对象
    @PostMapping("/test3")
    String testJavaBean(@RequestBody Product product);

    // 声明一个调用商品服务中的test4接口，传递数组
    @GetMapping("/test4")
    String testArrays(@RequestParam("ids") String[] ids);

    // 声明一个调用商品服务中的test4接口，传递集合
    @GetMapping("/test5")
    String testList(@RequestParam("ids") String[] ids);
}
